package com.kykj.kykj.dao;

import com.kykj.kykj.entity.UserFollowsEntity;
import com.kykj.kykj.vo.UserFollowsVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface UserFollowsDao {
    /**
     * 获取所有关注记录
     * @return 关注记录列表
     */
    List<UserFollowsEntity> getUserFollowsList();

    /**
     * 添加关注记录
     * @param userFollowsVo 关注记录 VO
     * @return 影响的行数
     */
    int addUserFollows(@Param("userFollowsVo") UserFollowsVo userFollowsVo);

    /**
     * 更新关注记录
     * @param userFollowsVo 关注记录 VO
     * @return 影响的行数
     */
    int updateUserFollows(@Param("userFollowsVo") UserFollowsVo userFollowsVo);

    /**
     * 删除关注记录
     * @param id 关注记录 ID
     * @return 影响的行数
     */
    int deleteUserFollows(@Param("id") int id);

    /**
     * 根据 followerId 获取关注记录
     * @param followerId 关注者 ID
     * @return 关注记录列表
     */
    List<UserFollowsEntity> getUserFollowsByFollowerId(@Param("followerId") int followerId);
}